1. Field of the Invention
The present invention relates to a data processing apparatus and method for performing an adaptive filter operation on an input data sample to generate an output data sample. An adaptive filter operation is one where a logical computation is performed on a logical data item to determine whether a filtering computation should be applied to the input data sample. Hence, the filtering computation will not typically be applied to every data sample, but instead will be applied to some data samples and not to others dependent on the logical computation performed in each case.
2. Description of the Prior Art
It will be appreciated that the use of adaptive filter operations may be required in a variety of different data processing applications. One example of an area where adaptive filter operations are used is in the area of image processing applications, where the input data samples to the adaptive filter operation represent data of an image pixel, for example intensity or chroma data relating to that image pixel. One particular image processing application where adaptive filter operations are used is when performing deringing of a decompressed image in order to reduce compression artefacts. It is often the case that images are compressed, for example prior to storage or transmission, and where the compression techniques are lossy, this can result in the decompressed image exhibiting certain compression artefacts. Ringing artefacts are one such type of artefact that may result from lossy compression techniques, such artefacts generally being visible to the eye, particularly in the more uniform areas of the image.
One example of an image compression technique which is lossy is MPEG-4 compression, and accordingly it is often desirable to perform a deringing operation after decompressing an MPEG-4 image. Specific details as to the decompression defined by the MPEG-4 standard, and the functions to be performed by deringing in order to be compatible with the MPEG-4 standard are provided in the MPEG-4 standard, “ISO/IEC 14496”, Part 2 for video compression.
Deringing typically uses a logical rule to determine whether or not each pixel should be overwritten with the output of a 2D Finite Impulse Response (FIR) filter or left unchanged, and hence it can be seen that deringing involves an adaptive filter operation. Hence, for each pixel in turn, a typical deringing technique would first perform the logical rule or computation required to determine whether that pixel should be overwritten with the output of the FIR filter, and then if it is determined that the output should be overwritten, the FIR filter computation would be performed in order to generate a filtered data sample to output in place of the original pixel. Accordingly, it can be seen that the deringing process is processor intensive, since for each pixel the logical computation needs to be performed, followed by the filtering computation when determined that a pixel value should be overwritten with the output of the FIR filter. The deringing has to be performed in addition to the various other processing stages required in decoding an MPEG-4 image, and it is typically required that an image frame be produced many times a second, for example every fifteenth of a second.
Accordingly, it would be desirable to provide a technique for performing adaptive filter operations more efficiently.